/**
 * 对话导出测试工具
 * 在浏览器控制台中使用
 */

// 对话导出测试工具
window.chatExportTest = {
    // 测试对话历史记录
    testChatHistory() {
        console.log('📝 测试对话历史记录...');

        if (window.chatHistoryService) {
            const messages = window.chatHistoryService.getAllMessages();
            const sessions = window.chatHistoryService.getAllSessions();
            const currentSession = window.chatHistoryService.getCurrentSession();

            console.log('📊 对话历史统计:');
            console.log('  - 总消息数:', messages.length);
            console.log('  - 总会话数:', sessions.length);
            console.log('  - 当前会话消息数:', currentSession?.messages.length || 0);
            console.log('  - 用户消息数:', messages.filter(m => m.type === 'user').length);
            console.log('  - AI消息数:', messages.filter(m => m.type === 'ai').length);

            if (messages.length > 0) {
                console.log('📋 最近5条消息:');
                messages.slice(-5).forEach((msg, index) => {
                    const timeStr = new Date(msg.timestamp).toLocaleString();
                    const speaker = msg.type === 'user' ? '👤 用户' : '🤖 AI';
                    console.log(`  ${index + 1}. [${timeStr}] ${speaker}: ${msg.content.substring(0, 50)}...`);
                });
            } else {
                console.log('📭 暂无对话记录');
            }
        } else {
            console.error('❌ chatHistoryService不存在');
        }
    },

    // 测试导出功能
    testExport() {
        console.log('📤 测试导出功能...');

        if (window.chatHistoryService) {
            try {
                // 测试文本导出
                const textExport = window.chatHistoryService.exportAsText();
                console.log('📝 文本导出预览 (前500字符):');
                console.log(textExport.substring(0, 500) + '...');

                // 测试JSON导出
                const jsonExport = window.chatHistoryService.exportAsJson();
                console.log('🔧 JSON导出预览 (前500字符):');
                console.log(jsonExport.substring(0, 500) + '...');

                console.log('✅ 导出功能测试完成');
            } catch (error) {
                console.error('❌ 导出功能测试失败:', error);
            }
        } else {
            console.error('❌ chatHistoryService不存在');
        }
    },

    // 模拟对话记录
    simulateChat() {
        console.log('🎭 模拟对话记录...');

        if (window.chatHistoryService) {
            // 添加一些模拟消息
            window.chatHistoryService.addUserMessage('你好，我是用户');
            window.chatHistoryService.addAiMessage('你好！我是AI助手，很高兴为您服务。', '小燕');

            window.chatHistoryService.addUserMessage('今天天气怎么样？');
            window.chatHistoryService.addAiMessage('很抱歉，我无法获取实时天气信息。建议您查看天气预报应用或网站。', '艾斯');

            window.chatHistoryService.addUserMessage('谢谢你的帮助');
            window.chatHistoryService.addAiMessage('不客气！如果您还有其他问题，随时可以问我。', '四川话');

            console.log('✅ 模拟对话记录完成');
            this.testChatHistory();
        } else {
            console.error('❌ chatHistoryService不存在');
        }
    },

    // 清除对话历史
    clearHistory() {
        console.log('🗑️ 清除对话历史...');

        if (window.chatHistoryService) {
            window.chatHistoryService.clearAllHistory();
            console.log('✅ 对话历史已清除');
        } else {
            console.error('❌ chatHistoryService不存在');
        }
    },

    // 手动导出文件
    exportFile(format = 'text') {
        console.log(`📤 手动导出文件 (${format})...`);

        if (window.chatHistoryService) {
            try {
                let content: string;
                let filename: string;
                let mimeType: string;

                if (format === 'text') {
                    content = window.chatHistoryService.exportAsText();
                    filename = `对话历史_${new Date().toISOString().split('T')[0]}.txt`;
                    mimeType = 'text/plain;charset=utf-8';
                } else {
                    content = window.chatHistoryService.exportAsJson();
                    filename = `对话历史_${new Date().toISOString().split('T')[0]}.json`;
                    mimeType = 'application/json;charset=utf-8';
                }

                // 创建Blob并下载
                const blob = new Blob([content], { type: mimeType });
                const url = URL.createObjectURL(blob);

                const link = document.createElement('a');
                link.href = url;
                link.download = filename;
                document.body.appendChild(link);
                link.click();
                document.body.removeChild(link);

                URL.revokeObjectURL(url);

                console.log('✅ 文件导出成功:', filename);
            } catch (error) {
                console.error('❌ 文件导出失败:', error);
            }
        } else {
            console.error('❌ chatHistoryService不存在');
        }
    }
};

// 快速测试函数
window.testChatHistory = function () {
    console.log('📝 快速测试对话历史...');
    window.chatExportTest.testChatHistory();
};

window.testExport = function () {
    console.log('📤 快速测试导出功能...');
    window.chatExportTest.testExport();
};

window.simulateChat = function () {
    console.log('🎭 快速模拟对话...');
    window.chatExportTest.simulateChat();
};

window.clearChatHistory = function () {
    console.log('🗑️ 快速清除对话历史...');
    window.chatExportTest.clearHistory();
};

window.exportChatFile = function (format = 'text') {
    console.log(`📤 快速导出文件 (${format})...`);
    window.chatExportTest.exportFile(format);
};

console.log('📤 对话导出测试工具已加载！');
console.log('📖 使用方法:');
console.log('  - testChatHistory() - 测试对话历史记录');
console.log('  - testExport() - 测试导出功能');
console.log('  - simulateChat() - 模拟对话记录');
console.log('  - clearChatHistory() - 清除对话历史');
console.log('  - exportChatFile("text") - 导出文本文件');
console.log('  - exportChatFile("json") - 导出JSON文件');
